VBScript ব্যবহার করে আপনি সিস্টেমের বিভিন্ন ফাংশন যেমন ফাইল পরিচালনা, প্রক্রিয়া চালানো, সিস্টেমের অ্যাট্রিবিউটস চেক করা, এবং সিস্টেম কনফিগারেশন সেটিংস পরিবর্তন করতে পারেন। এর মাধ্যমে উইন্ডোজ অপারেটিং সিস্টেমের বিভিন্ন উপাদানকে সহজভাবে স্ক্রিপ্ট করা সম্ভব।
সিস্টেম ম্যানিপুলেশন সম্পর্কিত কিছু প্রধান কাজ:
- ফাইল এবং ফোল্ডার ম্যানিপুলেশন
- পৃথক প্রক্রিয়া চালানো (Process Management)
- রেজিস্ট্রি ম্যানিপুলেশন
- পরিবর্তনশীল এবং সিস্টেম কনফিগারেশন পরিবর্তন করা
১. ফাইল এবং ফোল্ডার ম্যানিপুলেশন
VBScript দিয়ে ফাইল এবং ফোল্ডার ম্যানিপুলেশন করার জন্য FileSystemObject (FSO) ব্যবহার করা হয়। এর মাধ্যমে আপনি ফাইল তৈরি, মুছে ফেলা, নাম পরিবর্তন, কপি করা, এবং ফোল্ডার তৈরি/মুছে ফেলাসহ অন্যান্য কাজ করতে পারবেন।
উদাহরণ: ফাইল তৈরি এবং লেখা
Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
' ফাইল তৈরি করা
Set file = fso.CreateTextFile("C:\example.txt", True)
file.WriteLine("This is a test file created by VBScript.")
file.Close
উদাহরণ: ফাইল মুছে ফেলা
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
' ফাইল মুছে ফেলা
If fso.FileExists("C:\example.txt") Then
fso.DeleteFile("C:\example.txt")
MsgBox "File Deleted Successfully."
Else
MsgBox "File does not exist."
End If
২. পৃথক প্রক্রিয়া চালানো (Process Management)
VBScript দিয়ে Shell অবজেক্ট ব্যবহার করে আপনি নতুন প্রক্রিয়া (process) চালাতে পারেন, যেমন অ্যাপ্লিকেশন রান করা বা কমান্ড লাইন ব্যবহার করা।
উদাহরণ: নতুন প্রক্রিয়া চালানো
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' Notepad চালানো
objShell.Run "notepad.exe"
এখানে, notepad.exe একটি নতুন নোটপ্যাড প্রোগ্রাম চালাবে। আপনি অন্য কোন অ্যাপ্লিকেশন বা কমান্ডও চালাতে পারেন।
উদাহরণ: কমান্ড প্রম্পট (Command Prompt) দিয়ে কমান্ড চালানো
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' কমান্ড প্রম্পটের মাধ্যমে পিং কমান্ড চালানো
objShell.Run "cmd /C ping www.google.com"
এটি cmd প্রম্পট খুলে ping কমান্ড চালাবে এবং www.google.com কে পিং করবে।
৩. রেজিস্ট্রি ম্যানিপুলেশন
Windows রেজিস্ট্রি, সিস্টেম কনফিগারেশনের জন্য ব্যবহৃত একটি ডেটাবেস। VBScript ব্যবহার করে আপনি রেজিস্ট্রির মধ্যে কীগুলি তৈরি, পরিবর্তন এবং মুছে ফেলতে পারেন।
উদাহরণ: রেজিস্ট্রি কীগুলি তৈরি করা
Dim objRegistry
Set objRegistry = CreateObject("WScript.Shell")
' একটি নতুন রেজিস্ট্রি কী তৈরি করা
objRegistry.CreateKey "HKEY_CURRENT_USER\Software\MySoftware"
উদাহরণ: রেজিস্ট্রির মান পরিবর্তন করা
Dim objRegistry
Set objRegistry = CreateObject("WScript.Shell")
' একটি রেজিস্ট্রি মান পরিবর্তন করা
objRegistry.RegWrite "HKEY_CURRENT_USER\Software\MySoftware\Version", "1.0"
এখানে, রেজিস্ট্রির মধ্যে Version নামক একটি মান লেখা হচ্ছে, যার মান 1.0।
উদাহরণ: রেজিস্ট্রি মান মুছে ফেলা
Dim objRegistry
Set objRegistry = CreateObject("WScript.Shell")
' রেজিস্ট্রি মান মুছে ফেলা
objRegistry.RegDelete "HKEY_CURRENT_USER\Software\MySoftware\Version"
৪. পরিবর্তনশীল এবং সিস্টেম কনফিগারেশন পরিবর্তন করা
VBScript দিয়ে আপনি সিস্টেমের বিভিন্ন কনফিগারেশন পরিবর্তন করতে পারেন, যেমন উইন্ডোজ টাইম জোন পরিবর্তন বা অন্য কোনো সিস্টেম সেটিংস আপডেট করা।
উদাহরণ: সিস্টেমের টাইম জোন পরিবর্তন
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' সিস্টেম টাইম জোন পরিবর্তন করা
objShell.Run "tzutil /s ""UTC"""
এটি সিস্টেমের টাইম জোন পরিবর্তন করবে এবং UTC টাইম জোন সেট করবে।
সারাংশ
VBScript দিয়ে সিস্টেম ম্যানিপুলেশন করার জন্য বিভিন্ন টুলস এবং অবজেক্ট ব্যবহার করা যায়:
- FileSystemObject (FSO) দিয়ে ফাইল এবং ফোল্ডার ম্যানিপুলেশন।
- WScript.Shell দিয়ে প্রক্রিয়া চালানো এবং কমান্ড প্রম্পট থেকে কমান্ড চালানো।
- WScript.Shell দিয়ে রেজিস্ট্রি কীগুলি তৈরি, পরিবর্তন এবং মুছে ফেলা।
- সিস্টেম কনফিগারেশন পরিবর্তন এবং অন্যান্য সিস্টেম অপারেশনও VBScript এর মাধ্যমে সহজে করা যায়।
এইসব কার্যক্রম উইন্ডোজ সিস্টেমের অটোমেশন এবং ব্যবস্থাপনার জন্য উপকারী হতে পারে।
VBScript এর মাধ্যমে আপনি সিস্টেম সম্পর্কিত বিভিন্ন তথ্য সংগ্রহ করতে পারেন, যেমন অপারেটিং সিস্টেমের তথ্য (OS), এনভায়রনমেন্ট ভ্যারিয়েবলস এবং অন্যান্য সিস্টেম সম্পর্কিত ইনফরমেশন। সিস্টেমের তথ্য সংগ্রহ করার জন্য WScript.Shell এবং FileSystemObject ব্যবহার করা হয়।
এই গাইডে, আমরা দেখব কিভাবে আপনি VBScript এর মাধ্যমে সিস্টেম সম্পর্কিত তথ্য সংগ্রহ করতে পারেন।
১. অপারেটিং সিস্টেমের তথ্য সংগ্রহ
WScript.Shell অবজেক্টের মাধ্যমে আপনি অপারেটিং সিস্টেমের তথ্য, যেমন OS এর সংস্করণ, কম্পিউটার নাম, এবং আরও অনেক কিছু সংগ্রহ করতে পারেন।
উদাহরণ: অপারেটিং সিস্টেমের ইনফরমেশন সংগ্রহ
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' অপারেটিং সিস্টেমের সংস্করণ সংগ্রহ করা
MsgBox "অপারেটিং সিস্টেমের সংস্করণ: " & objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName")
' কম্পিউটারের নাম সংগ্রহ করা
MsgBox "কম্পিউটারের নাম: " & objShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
Set objShell = Nothing
এখানে:
- RegRead মেথডের মাধ্যমে রেজিস্ট্রি থেকে ProductName এর মান পড়া হয়েছে, যা অপারেটিং সিস্টেমের সংস্করণ।
- ExpandEnvironmentStrings("%COMPUTERNAME%") এর মাধ্যমে COMPUTERNAME এনভায়রনমেন্ট ভ্যারিয়েবল থেকে কম্পিউটারের নাম সংগ্রহ করা হয়েছে।
২. এনভায়রনমেন্ট ভ্যারিয়েবলস সংগ্রহ
WScript.Shell ব্যবহার করে আপনি সিস্টেমের বিভিন্ন এনভায়রনমেন্ট ভ্যারিয়েবলস (যেমন PATH, USERPROFILE, TEMP) অ্যাক্সেস করতে পারেন। এটি সিস্টেমের কনফিগারেশন তথ্য বের করতে খুবই সহায়ক।
উদাহরণ: সিস্টেমের এনভায়রনমেন্ট ভ্যারিয়েবলস সংগ্রহ
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' PATH এনভায়রনমেন্ট ভ্যারিয়েবল সংগ্রহ করা
MsgBox "PATH ভ্যারিয়েবল: " & objShell.ExpandEnvironmentStrings("%PATH%")
' USERPROFILE ভ্যারিয়েবল সংগ্রহ করা
MsgBox "ব্যবহারকারীর প্রোফাইল: " & objShell.ExpandEnvironmentStrings("%USERPROFILE%")
' TEMP ভ্যারিয়েবল সংগ্রহ করা
MsgBox "টেম্প ফোল্ডারের পথ: " & objShell.ExpandEnvironmentStrings("%TEMP%")
Set objShell = Nothing
এখানে:
- ExpandEnvironmentStrings মেথড ব্যবহার করে বিভিন্ন এনভায়রনমেন্ট ভ্যারিয়েবল (যেমন PATH, USERPROFILE, TEMP) এর মান অ্যাক্সেস করা হয়েছে।
৩. ডিস্ক স্পেস এবং ফাইল সিস্টেম ইনফরমেশন
FileSystemObject (FSO) ব্যবহার করে আপনি ড্রাইভের স্পেস এবং অন্যান্য ফাইল সিস্টেম সম্পর্কিত তথ্য সংগ্রহ করতে পারেন।
উদাহরণ: ড্রাইভের স্পেস ইনফরমেশন সংগ্রহ
Dim objFSO, objDrive
Set objFSO = CreateObject("Scripting.FileSystemObject")
' C ড্রাইভের স্পেস ইনফরমেশন সংগ্রহ
Set objDrive = objFSO.GetDrive("C:")
MsgBox "C ড্রাইভের মোট স্পেস: " & objDrive.TotalSize / 1024 / 1024 & " MB"
MsgBox "C ড্রাইভের ব্যবহারযোগ্য স্পেস: " & objDrive.FreeSpace / 1024 / 1024 & " MB"
Set objDrive = Nothing
Set objFSO = Nothing
এখানে:
- GetDrive মেথড ব্যবহার করে C ড্রাইভের তথ্য নেওয়া হয়েছে।
- TotalSize এবং FreeSpace এর মাধ্যমে মোট স্পেস এবং ব্যবহৃত স্পেসের মান পাওয়া গেছে, যা MB তে কনভার্ট করা হয়েছে।
৪. CPU এবং মেমরি ইনফরমেশন সংগ্রহ
WMI (Windows Management Instrumentation) ব্যবহার করে আপনি সিস্টেমের CPU এবং মেমরি ইনফরমেশনও সংগ্রহ করতে পারেন। VBScript এর মাধ্যমে WMI কোয়ারি ব্যবহার করে বিভিন্ন হার্ডওয়্যার এবং সিস্টেম ইনফরমেশন পাওয়া যায়।
উদাহরণ: CPU ইনফরমেশন সংগ্রহ
Dim objWMIService, colItems, objItem
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
For Each objItem In colItems
MsgBox "CPU নাম: " & objItem.Name
Next
Set objWMIService = Nothing
Set colItems = Nothing
এখানে:
- Win32_Processor ক্লাস ব্যবহার করে CPU সম্পর্কিত তথ্য সংগ্রহ করা হয়েছে।
উদাহরণ: মেমরি ইনফরমেশন সংগ্রহ
Dim objWMIService, colItems, objItem
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory")
For Each objItem In colItems
MsgBox "মেমরির আকার: " & objItem.Capacity / 1024 / 1024 & " MB"
Next
Set objWMIService = Nothing
Set colItems = Nothing
এখানে:
- Win32_PhysicalMemory ক্লাস ব্যবহার করে মেমরি সম্পর্কে তথ্য সংগ্রহ করা হয়েছে এবং মেমরির আকার MB তে কনভার্ট করা হয়েছে।
সারাংশ
VBScript ব্যবহার করে আপনি সিস্টেম সম্পর্কিত নানা তথ্য যেমন অপারেটিং সিস্টেমের সংস্করণ, এনভায়রনমেন্ট ভ্যারিয়েবলস, ফাইল সিস্টেমের ইনফরমেশন (ডিস্ক স্পেস), CPU এবং মেমরি ইনফরমেশন সংগ্রহ করতে পারেন। এই তথ্যগুলি WScript.Shell, FileSystemObject, এবং WMI অবজেক্টের মাধ্যমে সহজেই অ্যাক্সেস করা যায়। এগুলি সিস্টেম প্রশাসন এবং স্ক্রিপ্টিং এর জন্য অত্যন্ত কার্যকরী এবং শক্তিশালী টুল।
VBScript ব্যবহার করে আপনি সিস্টেমে চলমান প্রক্রিয়াগুলিকে ম্যানেজ করতে পারেন, যেমন নতুন প্রক্রিয়া শুরু করা (Start) বা চলমান প্রক্রিয়া বন্ধ করা (Stop)। এটি WScript.Shell অবজেক্টের মাধ্যমে করা যায়, যা Windows অপারেটিং সিস্টেমে বিভিন্ন কমান্ড রান করার জন্য ব্যবহৃত হয়।
প্রক্রিয়া (Process) ম্যানেজমেন্টে ব্যবহৃত প্রধান কার্যাবলী:
- Start Process: নতুন প্রক্রিয়া বা অ্যাপ্লিকেশন শুরু করা।
- Stop Process: চলমান প্রক্রিয়া বা অ্যাপ্লিকেশন বন্ধ করা।
1. Start Process (নতুন প্রক্রিয়া শুরু করা)
WScript.Shell অবজেক্ট ব্যবহার করে নতুন প্রক্রিয়া শুরু করার জন্য Run মেথড ব্যবহার করা হয়। এটি একটি অ্যাপ্লিকেশন চালু করতে সাহায্য করে।
উদাহরণ: প্রক্রিয়া শুরু করা (Notepad চালানো)
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' Notepad অ্যাপ্লিকেশন চালু করা
objShell.Run "notepad.exe"
এখানে, Run মেথডটি notepad.exe চালু করছে, এবং এটি ব্যবহারকারীর কম্পিউটারে Notepad অ্যাপ্লিকেশন খুলে দেয়। আপনি অন্য যেকোনো অ্যাপ্লিকেশনও চালু করতে পারবেন, যেমন calc.exe (ক্যালকুলেটর) বা cmd.exe (কমান্ড প্রম্পট)।
আরও উদাহরণ: একটি URL খোলা
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' একটি URL ব্রাউজারে খোলা
objShell.Run "https://www.example.com"
এখানে, Run মেথডটি একটি ওয়েব পেজের URL খুলছে।
2. Stop Process (প্রক্রিয়া বন্ধ করা)
প্রক্রিয়া বন্ধ করার জন্য, WScript.Shell অবজেক্টের মাধ্যমে taskkill কমান্ড চালানো হয়। এটি একটি বিশেষ command line কমান্ড যা চলমান প্রক্রিয়া বন্ধ করতে ব্যবহৃত হয়। taskkill দিয়ে আপনি সিস্টেমে চলমান কোনো প্রক্রিয়া বা অ্যাপ্লিকেশন বন্ধ করতে পারেন।
উদাহরণ: Notepad বন্ধ করা
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' Notepad প্রক্রিয়া বন্ধ করা
objShell.Run "taskkill /IM notepad.exe /F"
এখানে:
- taskkill কমান্ডটি ব্যবহৃত হয়েছে notepad.exe বন্ধ করার জন্য।
/IMপ্যারামিটার দিয়ে নির্দিষ্ট প্রক্রিয়ার নাম দেওয়া হয়েছে (এখানেnotepad.exe)।/Fপ্যারামিটার দিয়ে ফোর্সfully প্রক্রিয়াটি বন্ধ করার নির্দেশ দেয়া হয়েছে।
উদাহরণ: অন্যান্য প্রক্রিয়া বন্ধ করা
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' Calc প্রক্রিয়া বন্ধ করা
objShell.Run "taskkill /IM calc.exe /F"
এখানে, calc.exe (ক্যালকুলেটর) প্রক্রিয়াটি বন্ধ করার জন্য taskkill ব্যবহার করা হয়েছে।
3. Start Process with Parameters (প্যারামিটার সহ প্রক্রিয়া শুরু করা)
আপনি একটি প্রক্রিয়া শুরু করার সময় তার সাথে কিছু প্যারামিটারও পাঠাতে পারেন। এটি বিশেষত প্রয়োজন যখন কোনো প্রোগ্রামকে নির্দিষ্ট একটি কাজ করতে চান।
উদাহরণ: Notepad একটি নির্দিষ্ট ফাইল খোলার জন্য চালু করা
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' Notepad এ একটি নির্দিষ্ট ফাইল খোলা
objShell.Run "notepad.exe C:\path\to\your\file.txt"
এখানে, notepad.exe চালু করার সময় একটি নির্দিষ্ট ফাইলের পাথ পাস করা হচ্ছে যাতে সেই ফাইলটি Notepad এ খোলা হয়।
4. Check if Process is Running (প্রক্রিয়া চলমান কিনা চেক করা)
প্রক্রিয়া চালু বা বন্ধ হওয়ার অবস্থাও চেক করা যেতে পারে। এটি tasklist কমান্ডের মাধ্যমে করা সম্ভব, যা চলমান প্রক্রিয়াগুলির একটি তালিকা দেখায়।
উদাহরণ: Notepad চলমান কিনা চেক করা
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' tasklist কমান্ড ব্যবহার করে Notepad চলছে কিনা চেক করা
Set objExec = objShell.Exec("tasklist /FI ""IMAGENAME eq notepad.exe""")
strOutput = objExec.StdOut.ReadAll
If InStr(strOutput, "notepad.exe") > 0 Then
MsgBox "Notepad is running"
Else
MsgBox "Notepad is not running"
End If
এখানে, tasklist কমান্ডটি ব্যবহার করে চেক করা হচ্ছে যে notepad.exe চলছে কিনা। যদি চলে, তাহলে "Notepad is running" মেসেজ বক্সে দেখানো হবে।
সারাংশ
- প্রক্রিয়া শুরু করা: WScript.Shell অবজেক্টের Run মেথড ব্যবহার করে নতুন প্রক্রিয়া বা অ্যাপ্লিকেশন শুরু করা যায়। উদাহরণস্বরূপ, notepad.exe চালু করা।
- প্রক্রিয়া বন্ধ করা: taskkill কমান্ড দিয়ে কোনো চলমান প্রক্রিয়া বন্ধ করা যায়। যেমন notepad.exe বা calc.exe বন্ধ করা।
- প্রক্রিয়া প্যারামিটার সহ শুরু করা: আপনি প্রক্রিয়া চালানোর সময় প্যারামিটার সহ চালাতে পারেন, যেমন একটি নির্দিষ্ট ফাইল খোলার জন্য notepad.exe।
- প্রক্রিয়া চলমান কিনা চেক করা: tasklist কমান্ড দিয়ে আপনি দেখতে পারেন যে কোনো প্রক্রিয়া চলমান আছে কি না।
VBScript এর মাধ্যমে প্রক্রিয়া ম্যানেজমেন্ট সিস্টেমের কার্যক্রম অটোমেটেড করতে এবং বিভিন্ন টাস্ক সহজভাবে সম্পাদন করতে সহায়ক।
VBScript ব্যবহার করে সিস্টেম ফাইল এবং রেজিস্ট্রি ম্যানিপুলেশন করা যায়। এই স্ক্রিপ্টিং ভাষার মাধ্যমে আপনি ফাইল পরিচালনা, ফোল্ডার তৈরি বা মুছে ফেলা, ফাইল কপি, পেস্ট, এবং রেজিস্ট্রি হ্যাকিং বা সেটিংস পরিবর্তন করতে পারবেন। এগুলি সাধারণত সিস্টেম অ্যাডমিনিস্ট্রেশন, অটোমেশন কাজ এবং সিস্টেম কনফিগারেশন ম্যানেজমেন্টে ব্যবহৃত হয়।
সিস্টেম ফাইল ম্যানিপুলেশন (File Manipulation)
ফাইল ম্যানিপুলেশন করতে FileSystemObject (FSO) ব্যবহার করা হয়। FSO একটি শক্তিশালী অবজেক্ট যা সিস্টেম ফাইল এবং ফোল্ডার পরিচালনা করতে সহায়তা করে।
ফাইল তৈরি করা (Creating a File)
Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
' ফাইল তৈরি
Set file = fso.CreateTextFile("C:\example.txt", True)
file.WriteLine("This is a test file.")
file.Close
' অবজেক্ট রিলিজ করা
Set fso = Nothing
Set file = Nothing
এখানে:
- CreateTextFile মেথড ব্যবহার করে
C:\example.txtফাইলটি তৈরি করা হয়েছে এবং তার মধ্যে একটি টেক্সট লাইন লেখা হয়েছে।
ফাইল কপি এবং মুছে ফেলা (Copying and Deleting Files)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
' ফাইল কপি করা
fso.CopyFile "C:\example.txt", "C:\backup\example.txt"
' ফাইল মুছে ফেলা
fso.DeleteFile "C:\example.txt"
' অবজেক্ট রিলিজ করা
Set fso = Nothing
এখানে:
- CopyFile মেথড ব্যবহার করে
example.txtফাইলটি কপি করা হয়েছে। - DeleteFile মেথড ব্যবহার করে
example.txtফাইলটি মুছে ফেলা হয়েছে।
ফোল্ডার তৈরি এবং মুছে ফেলা (Creating and Deleting Folders)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
' ফোল্ডার তৈরি করা
If Not fso.FolderExists("C:\TestFolder") Then
fso.CreateFolder("C:\TestFolder")
End If
' ফোল্ডার মুছে ফেলা
If fso.FolderExists("C:\TestFolder") Then
fso.DeleteFolder("C:\TestFolder")
End If
' অবজেক্ট রিলিজ করা
Set fso = Nothing
এখানে:
- CreateFolder মেথড ব্যবহার করে একটি নতুন ফোল্ডার তৈরি করা হয়েছে।
- DeleteFolder মেথড ব্যবহার করে একটি ফোল্ডার মুছে ফেলা হয়েছে।
রেজিস্ট্রি ম্যানিপুলেশন (Registry Manipulation)
Windows রেজিস্ট্রি ম্যানিপুলেশন করার জন্য WScript.Shell অবজেক্ট ব্যবহার করা হয়। এটি রেজিস্ট্রি কী তৈরি, পড়া, আপডেট এবং মুছে ফেলতে সহায়তা করে।
রেজিস্ট্রি কী তৈরি এবং মান সেট করা (Creating Registry Key and Setting Values)
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' রেজিস্ট্রি কী তৈরি এবং মান সেট করা
objShell.RegWrite "HKEY_CURRENT_USER\Software\MyApp\Settings\Theme", "Dark", "REG_SZ"
' অবজেক্ট রিলিজ করা
Set objShell = Nothing
এখানে:
- RegWrite মেথড ব্যবহার করে
HKEY_CURRENT_USER\Software\MyApp\Settings\Themeকী তৈরি করা হয়েছে এবং এর মান"Dark"সেট করা হয়েছে।
রেজিস্ট্রি মান পড়া (Reading Registry Values)
Dim objShell, value
Set objShell = CreateObject("WScript.Shell")
' রেজিস্ট্রি মান পড়া
value = objShell.RegRead("HKEY_CURRENT_USER\Software\MyApp\Settings\Theme")
' রেজিস্ট্রি মান দেখানো
MsgBox value
' অবজেক্ট রিলিজ করা
Set objShell = Nothing
এখানে:
- RegRead মেথড ব্যবহার করে রেজিস্ট্রি থেকে মান পড়া হয়েছে এবং
MsgBoxব্যবহার করে তা প্রদর্শন করা হয়েছে।
রেজিস্ট্রি কী মুছে ফেলা (Deleting Registry Key)
Dim objShell
Set objShell = CreateObject("WScript.Shell")
' রেজিস্ট্রি কী মুছে ফেলা
objShell.RegDelete "HKEY_CURRENT_USER\Software\MyApp\Settings\Theme"
' অবজেক্ট রিলিজ করা
Set objShell = Nothing
এখানে:
- RegDelete মেথড ব্যবহার করে নির্দিষ্ট রেজিস্ট্রি কী মুছে ফেলা হয়েছে।
সারাংশ
- FileSystemObject (FSO) ব্যবহার করে ফাইল এবং ফোল্ডার পরিচালনা করা যায় যেমন, ফাইল তৈরি, কপি, মুছে ফেলা, এবং ফোল্ডার তৈরি ও মুছে ফেলা।
- WScript.Shell ব্যবহার করে Windows রেজিস্ট্রি ম্যানিপুলেট করা যায়, যেমন রেজিস্ট্রি কী তৈরি, মান পড়া, মান সেট করা, এবং কী মুছে ফেলা।
এই স্ক্রিপ্টিং ক্ষমতা সিস্টেম অ্যাডমিনিস্ট্রেশন এবং অটোমেশন কাজের জন্য খুবই কার্যকরী।
VBScript এর মাধ্যমে সিস্টেম লগ তৈরি এবং সিস্টেম মনিটরিং করা যেতে পারে, যা সিস্টেমের কার্যকলাপ এবং বিভিন্ন ইভেন্ট রেকর্ড করতে সহায়তা করে। এটি সিস্টেম প্রশাসনিক কাজের জন্য ব্যবহৃত হয় যেমন লগ ফাইল তৈরি করা, নির্দিষ্ট ইভেন্টগুলির ট্র্যাকিং এবং সিস্টেমের সঠিক কার্যকারিতা নিশ্চিত করা।
সিস্টেম লগ তৈরি করা
VBScript ব্যবহার করে সিস্টেম লগ তৈরি করতে সাধারণত WScript.Shell অবজেক্ট এবং FileSystemObject ব্যবহার করা হয়। এটি লগ ফাইল তৈরি এবং তাতে তথ্য রেকর্ড করার জন্য ব্যবহৃত হয়। সাধারণত উইন্ডোজ ইভেন্ট লগ বা নির্দিষ্ট ফাইল লগ ব্যবহার করা হয় সিস্টেমের কার্যকলাপ ট্র্যাক করার জন্য।
উদাহরণ: সিস্টেম লগ ফাইল তৈরি করা
Dim fso, logFile, currentDateTime
Set fso = CreateObject("Scripting.FileSystemObject")
' লগ ফাইলের পাথ
logFile = "C:\Logs\system_log.txt"
' বর্তমান তারিখ ও সময় পাওয়া
currentDateTime = Now
' লগ ফাইল তৈরি করা (যদি না থাকে)
If Not fso.FileExists(logFile) Then
Set log = fso.CreateTextFile(logFile, True)
Else
Set log = fso.OpenTextFile(logFile, 8) ' 8 = For appending
End If
' লগে তথ্য লেখা
log.WriteLine("Log Entry: " & currentDateTime & " - System Check Passed")
' লগ ফাইল বন্ধ করা
log.Close
এখানে, সিস্টেম লগ তৈরি করা হচ্ছে এবং প্রতিবার যখন স্ক্রিপ্টটি রান করবে, বর্তমান তারিখ এবং সময়সহ একটি লগ এন্ট্রি ফাইলে লেখা হবে।
উইন্ডোজ ইভেন্ট লগ মনিটরিং
VBScript ব্যবহার করে উইন্ডোজ ইভেন্ট লগ মনিটরিং করা সম্ভব, যা সিস্টেমের বিভিন্ন ইভেন্ট যেমন অ্যাপ্লিকেশন, সিকিউরিটি, বা সিস্টেম সম্পর্কিত লগ রেকর্ডগুলো পর্যবেক্ষণ করতে সাহায্য করে। Windows Management Instrumentation (WMI) এর মাধ্যমে ইভেন্ট লগগুলি রিড এবং মনিটর করা যেতে পারে।
উদাহরণ: সিস্টেম ইভেন্ট লগ পড়া
Dim objWMIService, objEventLog, colItems, objItem
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_NTLogEvent where Logfile = 'System'")
For Each objItem In colItems
MsgBox "Event: " & objItem.EventCode & vbCrLf & _
"Time: " & objItem.TimeGenerated & vbCrLf & _
"Description: " & objItem.Message
Next
এখানে, Win32_NTLogEvent ক্লাস ব্যবহার করে সিস্টেম ইভেন্ট লগ থেকে তথ্য পড়া হচ্ছে। আপনি Application, Security, এবং System লগ থেকে তথ্য সংগ্রহ করতে পারেন।
সিস্টেম মনিটরিং
VBScript সিস্টেম মনিটরিং করার জন্য সিস্টেমের বিভিন্ন পারফরম্যান্স কাউন্টারের মান বের করতে পারে, যেমন CPU ব্যবহার, মেমরি, ডিস্ক ব্যবহার ইত্যাদি। এই মনিটরিং টাস্ক WMI ব্যবহার করে সহজেই করা সম্ভব।
উদাহরণ: CPU ব্যবহার মনিটরিং
Dim objWMIService, objItems, objItem
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set objItems = objWMIService.ExecQuery("Select * from Win32_Processor")
For Each objItem In objItems
MsgBox "CPU Load: " & objItem.LoadPercentage & "%"
Next
এখানে, Win32_Processor ক্লাস ব্যবহার করে CPU এর লোড পারসেন্টেজ বের করা হচ্ছে।
সিস্টেমের ডিস্ক স্পেস মনিটরিং
VBScript ব্যবহার করে ডিস্ক স্পেস মনিটরিংও করা যায়, যা ডিস্কের ফ্রি এবং ইউজড স্পেস দেখতে সাহায্য করে।
উদাহরণ: ডিস্ক স্পেস চেক করা
Dim objWMIService, objItems, objItem
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set objItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk where DeviceID = 'C:'")
For Each objItem In objItems
MsgBox "Drive: C:" & vbCrLf & _
"Free Space: " & objItem.FreeSpace / 1024 / 1024 & " MB" & vbCrLf & _
"Total Space: " & objItem.Size / 1024 / 1024 & " MB"
Next
এখানে, Win32_LogicalDisk ক্লাস ব্যবহার করে ডিস্ক C: এর ফ্রি এবং টোটাল স্পেস পরিমাপ করা হয়েছে।
সারাংশ
VBScript ব্যবহার করে সিস্টেম লগ এবং মনিটরিং কার্যকলাপ অনেক সহজে পরিচালিত করা যেতে পারে। FileSystemObject এবং WScript.Shell অবজেক্ট ব্যবহার করে সিস্টেম লগ তৈরি এবং তথ্য রেকর্ড করা যায়, এবং WMI (Windows Management Instrumentation) এর মাধ্যমে সিস্টেমের পারফরম্যান্স এবং ইভেন্ট লগ মনিটর করা সম্ভব। এই স্ক্রিপ্টগুলি সিস্টেম অ্যাডমিনিস্ট্রেশন এবং ডায়নামিক সিস্টেম মনিটরিং কার্যকরী করার জন্য গুরুত্বপূর্ণ টুলস।
Read more